Key Points of the Flow
1. Creating a Task Branch
Each developer creates a separate branch for their task from the main branch . The branch name should follow the existing naming convention. For example:
feature/<issue_number>-<short_description> fix/<issue_number>-<short_description> hotfix/<issue_number>-<short_description>
2. Working on the Task
The developer makes all necessary changes in their branch. All changes must be documented in the CHANGELOG.md under the [Unreleased] section.
3. Pull Request (PR)
After completing the task, the developer creates a pull request (PR) into main branch. The PR should describe all changes and their impact on the project. The version should not be updated during this merge.
It would be better to have same branch name for all repos.
The links to all PRs must be present in corespondent ticket, it will help to review and test changes with no efforts.
3.1 Code review
At least one developer must review the code.
3.2 Testing feature
The QA speciaalist takes correspondent branches and deploy to his sandbox. Here is instructions
Any improvements can be redeployed by tester using previous instructions or by developer via Synchronisation script (in case of minor changes)
Writing autotests
4. Deploy to Stage
-
Once the PR is approved and passes all checks, it can be merged into the
mainbranch. -
The back-end deployment will be started automatically
-
Deploying CRM and Talent can be ran manually on
Build -> Pipelinepage
-
The marging UI-Lib onto
mainbranch will trigger creating new git tag, than building npm pachage and deploying CRM and Talent. So you don’t have to deploy CRM/Talent manually.
5. Deploy to Production
We need to set proper versions of apps.
Back
-
CHANGELOG.md
-
config/version.yml
Ui-lib
-
CHANGELOG.md
-
package.json
Talent
-
CHANGELOG.md
-
package.json
-
version -
dependencies.@talent/ui-lib
-
CRM
-
CHANGELOG.md
-
package.json
-
version -
dependencies.@talent/ui-lib
-
Eventually we need to create script to automate this process.
We need yml file with versions
script to set these versions to app
Script / button to deploy everything in one command/push-btn
A new branch with the name release/vx.x.x will be created from the main branch.
This merge request updates the version and writes the CHANGELOG. The responsible person must replace the [Unreleased] section with the proper version.
Back-End
The version file needs to be updated
Front-End
The proper version for each project needs to be set in the package.json file.
The exact version of UI-Lib @talent/ui-lib should be set in package.json of CRM and Talent
Follow these instructions Releasing
Example CHANGELOG:
## [vx.x.x] - 2024-07-18 ### Added - Feature description #123 (Author) [RT-XXXX] (link to the ticket in Jira) ### Changed - Updated functionality for XYZ #456 (Author) [RT-XXXX] (link to the ticket in Jira) ### Fixed - Bug description #789 (Author) [RT-XXXX] (link to the ticket in Jira)




Leave a Reply
You must be logged in to post a comment.